/*
 * @Description  :
 * @Version      : 1.0
 * @Author       : Shiming
 * @Date         : 2022-02-24 15:07:57
 * @LastEditors  : Shiming
 * @LastEditTime : 2022-04-20 15:42:10
 * @FilePath     : \\tms-obc-web\\src\\app\\routes\\partner\\partner-routing.module.ts
 * Copyright (C) 2022 huzhenhong. All rights reserved.
 */
import { NgModule } from '@angular/core';
import { RouterModule, Routes } from '@angular/router';

import { PartnerAccountManagementAccountDetailComponent } from './account-management/components/account-detail/account-detail.component';
import { PartnerAccountManagementListComponent } from './account-management/components/list/list.component';
import { PartnerAccountManagementRecordedDetailComponent } from './account-management/components/recorded-detail/recorded-detail.component';
import { PartnerBusinessStatisticsIndexComponent } from './business-statistics/components/index/index.component';
import { PartnerPartnerCustomDetailComponent } from './business-statistics/components/partner-custom-detail/partner-custom-detail.component';
import { PartnerPartnerCustomOrderDetailComponent } from './business-statistics/components/partner-custom-order-detail/partner-custom-order-detail.component';
import { PartnerPartnerOrderDetailComponent } from './business-statistics/components/partner-order-detail/partner-order-detail.component';
import { PartnerSaleCustomDetailComponent } from './business-statistics/components/sale-custom-detail/sale-custom-detail.component';
import { PartnerSalePartnerDetailComponent } from './business-statistics/components/sale-partner-detail/sale-partner-detail.component';
import { ParterChannelSalesEditComponent } from './channel-sales/components/edit/edit.component';
import { ParterChannelSalesListComponent } from './channel-sales/components/list/list.component';
import { ParterClaimAuditListChannelDetailComponent } from './claim-audit/components/channel-detail/channel-detail.component';
import { ParterClaimAuditListComponent } from './claim-audit/components/list/list.component';
import { ParterClaimAuditListPartnerDetailComponent } from './claim-audit/components/partner-detail/partner-detail.component';
import { ParterLevelConfigEditComponent } from './level-config/components/edit/edit.component';
import { ParterLevelConfigListComponent } from './level-config/components/list/list.component';
import { PartnerDetailComponent } from './partner-list/components/partner-detail/partner-detail.component';
import { ParterRebateManageMentParticularsComponent } from './rebate-management/components/particulars/particulars.component';
import { ParterRebateManageMentRecordComponent } from './rebate-management/components/rebate-record/rebate-record.component';
import { PartnerAccountManagementWithdrawalsRecordComponent } from './account-management/components/withdrawals-record/withdrawals-record.component';
import { PartnerAccountManagementWithdralDetailComponent } from './account-management/components/withdrawals-record/withdrawals-detail/withdrawals-detail.component';
import { ParterRebateManageMentAddComponent } from './rebate-management/components/rebate-setting/add/add.component';
import { ParterRebateManageMentSettingComponent } from './rebate-management/components/rebate-setting/rebate-setting.component';
import { PartnerRecordedDetailComponent } from './recorded/components/detail/detail.component';
import { PartnerRecordedRecordComponent } from './recorded/components/record/record.component';
import { AddEtpPartnerComponent } from './partner-list/components/add-etp-partner/add-etp-partner.component';
import { AddPersonalPartnerComponent } from './partner-list/components/add-personal-partner/add-personal-partner.component';
import { PartnerListComponent } from './partner-list/components/index/partner-list.component';
import { PartnerKnowledgeClassificationListComponent } from './knowledge/classification/components/list/list.component';
import { ParterArticleManagementListComponent } from './article-management/components/list/list.component';
import { ParterArticleManagementEditComponent } from './article-management/components/edit/edit.component';
import { ScrollimgComponentsAddComponent } from './scrollimg/components/add/add.component';
import { ScrollImgComponentsListComponent } from './scrollimg/components/list/list.component';
import { BannerComponentsListComponent } from './knowledge/banner/components/list/list.component';
import { BannerComponentsAddComponent } from './knowledge/banner/components/add/add.component';
import { PersonalPartnerDetailComponent } from './partner-list/components/personal-partner-detail/personal-partner-detail.component';
import { ParterAdviceFeedbackListComponent } from './advice-feedback/components/list/list.component';
import { ParterAdviceFeedbackDetailComponent } from './advice-feedback/components/feedback-detail/feedback-detail.component';

const routes: Routes = [
  {
    path: 'business-statistics',
    children: [
      { path: '', redirectTo: 'index' },
      { path: 'index', component: PartnerBusinessStatisticsIndexComponent },
      { path: 'partner/order-detail/:id', component: PartnerPartnerOrderDetailComponent },
      { path: 'partner/custom-detail/:id', component: PartnerPartnerCustomDetailComponent },
      { path: 'partner/custom-order-detail/:id', component: PartnerPartnerCustomOrderDetailComponent },
      { path: 'sale/custom-detail/:id', component: PartnerSaleCustomDetailComponent },
      { path: 'sale/partner-detail/:id', component: PartnerSalePartnerDetailComponent }
    ]
  },
  {
    path: 'channel-sales',
    children: [
      { path: '', component: ParterChannelSalesListComponent, data: { guard: { ability: ['channelSales-search'] } } },
      { path: 'list', component: ParterChannelSalesListComponent },
      { path: 'edit', component: ParterChannelSalesEditComponent }
    ]
  },
  {
    path: 'level-config',
    children: [
      { path: '', component: ParterLevelConfigListComponent, data: { guard: { ability: ['LevelConfig-search'] } } },
      { path: 'list', component: ParterLevelConfigListComponent, data: { guard: { ability: ['LevelConfig-search'] } } },
      { path: 'edit', component: ParterLevelConfigEditComponent }
    ]
  },
  {
    path: 'rebate',
    children: [
      {
        path: 'particulars',
        component: ParterRebateManageMentParticularsComponent,
        data: { guard: { ability: ['REBATE-PARTICULARS-search'] } }
      },
      { path: 'record', component: ParterRebateManageMentRecordComponent, data: { guard: { ability: ['REBATE-RECORD-search'] } } },
      { path: 'setting', component: ParterRebateManageMentSettingComponent, data: { guard: { ability: ['REBATE-SETTING-search'] } } },
      { path: 'setting/add/:id', component: ParterRebateManageMentAddComponent }
    ]
  },
  // 账户管理
  {
    path: 'account-management',
    children: [
      {
        path: 'am',
        children: [
          { path: '', redirectTo: 'list' },
          { path: 'list', component: PartnerAccountManagementListComponent, data: { guard: { ability: ['AM-LIST-search'] } } },
          // 合伙人账户明细
          {
            path: 'detail/:id',
            component: PartnerAccountManagementAccountDetailComponent,
            data: { guard: { ability: ['AM-LIST-search'] } }
          },
          // 待入账明细
          {
            path: 'recorded/detail/:id',
            component: PartnerAccountManagementRecordedDetailComponent,
            data: { guard: { ability: ['AN-RECORDED-DETAIL-search'] } }
          }
        ]
      },
      {
        path: 'withdraw-record',
        children: [
          { path: '', redirectTo: 'list' },
          {
            path: 'list',
            component: PartnerAccountManagementWithdrawalsRecordComponent,
            data: { guard: { ability: ['AM-WITHDRAW-RECORD-search'] } }
          },
          { path: 'detail/:id', component: PartnerAccountManagementWithdralDetailComponent }
        ]
      }
    ]
  },
  {
    path: 'partner-list',
    children: [
      { path: '', component: PartnerListComponent, data: { guard: { ability: ['ENTERPRISE-search'] } } },
      { path: 'etp-detail/:id', component: PartnerDetailComponent },
      { path: 'personal-detail/:id', component: PersonalPartnerDetailComponent },
      { path: 'add-etp-partner', component: AddEtpPartnerComponent },
      { path: 'add-personal-partner', component: AddPersonalPartnerComponent }
    ]
  },
  {
    path: 'claim-audit',
    children: [
      { path: '', component: ParterClaimAuditListComponent },
      { path: 'list', component: ParterClaimAuditListComponent },
      { path: 'channel-detail', component: ParterClaimAuditListChannelDetailComponent },
      { path: 'partner-detail', component: ParterClaimAuditListPartnerDetailComponent }
    ]
  },
  {
    path: 'scrollimg',
    children: [
      { path: '', component: ScrollImgComponentsListComponent, data: { guard: { ability: ['scrollimg-search'] } } },
      { path: 'list', component: ScrollImgComponentsListComponent, data: { guard: { ability: ['scrollimg-search'] } } },
      { path: 'detail', component: ScrollimgComponentsAddComponent }
    ]
  },
  {
    path: 'advice-feedback',
    children: [
      { path: '', component: ParterAdviceFeedbackListComponent },
      { path: 'list', component: ParterAdviceFeedbackListComponent },
      { path: 'detail', component: ParterAdviceFeedbackDetailComponent }
    ]
  },
  {
    path: 'recorded',
    children: [
      { path: 'record', component: PartnerRecordedRecordComponent, data: { guard: { ability: ['RECORDED-LIST-search'] } } },
      { path: 'record/detail/:id', component: PartnerRecordedDetailComponent }
    ]
  },
  {
    path: 'knowledge',
    children: [
      { path: 'classification', component: PartnerKnowledgeClassificationListComponent },
      { path: 'article-management-list', component: ParterArticleManagementListComponent },
      { path: 'article-management-add', component: ParterArticleManagementEditComponent },
      { path: 'article-management-edit', component: ParterArticleManagementEditComponent },
      { path: 'banner', component: BannerComponentsListComponent, data: { guard: { ability: ['banner-search'] } } },
      { path: 'banner/detail', component: BannerComponentsAddComponent }
    ]
  }
];
@NgModule({
  imports: [RouterModule.forChild(routes)],
  exports: [RouterModule]
})
export class PartnerRoutingModule {}
